
// 记住，高阶组件实际是个函数，这个函数会返回一个组件
// 这个函数会接收一个组件作为参数---Com
const withLoading=(WrapperCom)=>{
    // //返回组件前，会做一些其他逻辑
    // console.log('统一打印日志');
    // //这里要做一个函数，参数是父组件传来的参数，这个与父传子是一样的，不做函数，会接收不到调用这个高阶函数的组件传来的数据
    // //切记，切记
    // const newComponent=({data,isLoading,address})=>{
    //     // 在返回一个组件前，编辑一些逻辑
    //     console.log(data);
    //     console.log(isLoading);
    //     console.log(address);
    //     // 通过isLoading，判断返回不同的组件
    //     if (isLoading){
    //         return (<Com data={data} address={address} />)
    //     }
    //     else {
    //         return <Com/>
    //     }
    //
    // }
    // // 最后，返回这个函数（最后是返回一个组件newComponent）
    // return newComponent;




    return ({data, isLoading}) => {
        if (isLoading) {
            return <WrapperCom data={data} isLoading={isLoading}/>
        } else {
            return <><p>没什么好得组件返回</p> </>
        }
    };
}

export default withLoading;